home *** CD-ROM | disk | FTP | other *** search
/ Java Programmer's Toolkit / Java Programmer's Toolkit.iso / gs3.53 / pdf2dsc.ps < prev    next >
Text File  |  1996-01-10  |  2KB  |  71 lines

  1. %    Copyright (C) 1994, 1995 Aladdin Enterprises.  All rights reserved.
  2.  
  3. % pdf2dsc.ps
  4. % read pdf file and produce DSC "index" file.
  5. % originally by Russell Lang  1995-04-26
  6. %
  7. % modified from runpdf in gs 3.33 pdf_main.ps by Aladdin Enterprises.
  8. %
  9. % Input  file is named PDFname
  10. % Output file is named DSCname
  11. %
  12. % Run using:
  13. %  gs -dNODISPLAY -sPDFname=pdffilename -sDSCname=tempfilename pdf2dsc.ps
  14. % Then display the PDF file with
  15. %  gs tempfilename
  16.  
  17. /DSCfile DSCname (w) file def
  18. /DSCstring 255 string def
  19. % put these in userdict so we can write to them later
  20.    /Page# null def
  21.    /Page null def
  22.    /PDFSave null def
  23. %
  24.    GS_PDF_ProcSet begin
  25.    pdfdict begin
  26.    PDFname (r) file
  27.    pdfopen begin
  28. % setup for loop  (init increment limit)
  29.    /FirstPage where { pop FirstPage } { 1 } ifelse
  30.    1
  31.    /LastPage where { pop LastPage } { pdfpagecount } ifelse
  32. % write header and prolog
  33. DSCfile (%!PS-Adobe-3.0\n) writestring
  34. DSCfile (%%Pages: ) writestring
  35. DSCfile 1 index 3 index sub 1 add DSCstring cvs writestring
  36. DSCfile (\n%%EndComments\n) writestring
  37. DSCfile (%%BeginProlog\n) writestring
  38. DSCfile (/Page null def\n/PDFSave null def\n) writestring
  39. DSCfile (GS_PDF_ProcSet begin\npdfdict begin\n) writestring
  40. DSCfile (%%EndProlog\n) writestring
  41. DSCfile (%%BeginSetup\n) writestring
  42. DSCfile PDFname write==only
  43. DSCfile ( \(r\) file pdfopen begin\n) writestring
  44. DSCfile (%%EndSetup\n) writestring
  45. % process each page
  46.     { dup /Page# exch store
  47. DSCfile (%%Page: ) writestring
  48. DSCfile 1 index DSCstring cvs writestring
  49. DSCfile ( ) writestring
  50. DSCfile 1 index DSCstring cvs writestring
  51. DSCfile (\n) writestring
  52. DSCfile exch DSCstring cvs writestring
  53. DSCfile ( pdfgetpage /Page exch store\n) writestring
  54. DSCfile (save /PDFSave exch store\n) writestring
  55. DSCfile (Page pdfshowpage\n) writestring
  56. DSCfile (PDFSave restore\n) writestring
  57.     } for
  58.    currentdict pdfclose
  59.    end
  60.    end
  61.    end
  62. % write trailer
  63. DSCfile (%%Trailer\n) writestring
  64. DSCfile (currentdict pdfclose\nend\nend\nend\n) writestring
  65. DSCfile (%%EOF\n) writestring
  66. % close output file and exit
  67. DSCfile closefile
  68. quit
  69. % end of pdf2dsc.ps
  70.  
  71.